package com.ptrsystem.siatd.controllers;

import com.ptrsystem.siatd.beans.GenDetalleDocAdmin;
import com.ptrsystem.siatd.dao.logica.MantenimientoAnnioLogica;
import com.ptrsystem.siatd.dao.logica.MantenimientoDocumentoLogica;
import com.ptrsystem.siatd.dao.logica.MantenimientoEstDocumentoLogica;
import com.ptrsystem.siatd.dao.logica.MantenimientoGenDetalleDocAdminLogica;
import com.ptrsystem.siatd.dao.logica.MantenimientoTipoAnioLogica;
import com.ptrsystem.siatd.dao.logica.MantenimientoUnidDepartIntLogica;
import com.ptrsystem.siatd.dao.logica.MantenimientoUnidPadreInternoLogica;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class GenerarDetDocAdmController {

    @Autowired
    private MantenimientoGenDetalleDocAdminLogica logica;
    @Autowired
    private MantenimientoDocumentoLogica documeto;
    @Autowired
    private MantenimientoUnidPadreInternoLogica unidadPadreInt;
    @Autowired
    private MantenimientoUnidDepartIntLogica unidadDepartamento;
    @Autowired
    private MantenimientoTipoAnioLogica tipoAnio;
    @Autowired
    private MantenimientoAnnioLogica anio;
    @Autowired
    private MantenimientoEstDocumentoLogica estadoDoc;

    @RequestMapping(value = "registrarGenDetalleDocAdmin.htm", method = RequestMethod.GET)
    private String registrarGenerarDetalleDocAdm(HttpServletRequest req) {
        req.getSession(true).setAttribute("result", "Estado De Mantenimiento");
        req.getSession(false).setAttribute("codGenDetDocAdm", String.valueOf(logica.generarCodGenDetDocAdm()));
        req.getSession(false).setAttribute("doc", documeto.listaDocumento());
        req.getSession(false).setAttribute("uniPadInt", unidadPadreInt.listaUnidadPadre());
        req.getSession(false).setAttribute("uniDepInt", unidadDepartamento.listaUniDepInt());
        req.getSession(false).setAttribute("tipAni", tipoAnio.listaTipoAnio());
        req.getSession(false).setAttribute("anio", anio.listaAnio());
        req.getSession(false).setAttribute("estDoc", estadoDoc.listaEstDocumento());
        return "Mantenimiento/NRegGenDetalleDocAdmin";
    }

    @RequestMapping(value = "registraGenDetalleDocAdmin.htm", method = RequestMethod.POST)
    private String registraGenDetalleDocAdmin(GenDetalleDocAdmin genDetDocAdm, HttpServletRequest req) {
        genDetDocAdm.setNroEmisionDocAdm(String.valueOf(logica.generarCodGenDetDocAdm()));
        boolean rs = logica.registraGenSetalleDocAdmin(genDetDocAdm);
        if (rs) {
            req.getSession(true).setAttribute("result", "Registro Efectuado Correctamente");
            req.getSession(false).setAttribute("codGenDetDocAdm", String.valueOf(logica.generarCodGenDetDocAdm()));
        } else {
            req.getSession(true).setAttribute("result", "Registro No Efectuado");
        }
        return "Mantenimiento/NRegGenDetalleDocAdmin";
    }

}
